﻿package wangshuai.risk.dao;

import java.util.List;

import publics.model.Balance;
import publics.model.Company;
import publics.model.EnterpriseType;
import publics.util.Page;

public interface CompanyDao {

	/**
	 * 保存一个公司实体到数据库
	 * @param company 公司实体        
	 * @return 主键id
	 */
	public Integer save(Company company);

	/**
	 * 修改公司信息
	 * @param company  公司实体 
	 * @return  boolean 成功 true ，失败 false
	 */
	public boolean update(Company company);

	/**
	 * 根据id删除公司
	 * @param companyId 公司的id
	 * @return  boolean
	 */
	public boolean deleteById(Integer companyId);
	
	/**
	 * 根据实例删除公司
	 * @param companyId 公司id号
	 * @return
	 */
	public boolean delete(Company company);
	

	
	/**
	 * 据公司表id查找 
	 * @param 公司表id
     * @return id对应的公司表
	 */
	public Company findById(Integer id);
	
	/**
	 * 查询所有公司信息
	 * @param hql 要查询的hql语句
	 * @param offset 起始条目偏移量（offset == （页码-1）*pageSize ，ajax传过来的start = offset ）
	 * @param pageSize  查询每页的条目数
	 * @return 查询的所有公司
	 */
	public List<Company> findByPage(final String  hql, final int offset, final int pageSize);

	
	/**
	 * 分页查找的总记录
	 * @param sql 查询语句
	 * @return 记录总数
	 */
	public int findByCount(String sql);

	/**
	 * 根据条件查询企业类型
	 * @param sql  查询的sql语句
	 * @return  查询的实体结果
	 */
	public List<Company> find(String sql);
	
	
	/**
	 * 查找所有分公司
	 * @return
	 */
//	public List findAll();

}
